package cn.zxf.speedment_mysql.test_db.test_schema.position.generated;

import cn.zxf.speedment_mysql.test_db.test_schema.position.Position;
import com.speedment.common.annotation.GeneratedCode;
import com.speedment.runtime.config.identifier.TableIdentifier;
import com.speedment.runtime.core.manager.AbstractManager;
import com.speedment.runtime.field.Field;
import java.util.stream.Stream;

/**
 * The generated base implementation for the manager of every {@link
 * cn.zxf.speedment_mysql.test_db.test_schema.position.Position} entity.
 * <p>
 * This file has been automatically generated by Speedment. Any changes made to
 * it will be overwritten.
 * 
 * @author Speedment
 */
@GeneratedCode("Speedment")
public abstract class GeneratedPositionManagerImpl extends AbstractManager<Position> implements GeneratedPositionManager {
    
    private final TableIdentifier<Position> tableIdentifier;
    
    protected GeneratedPositionManagerImpl() {
        this.tableIdentifier = TableIdentifier.of("hellospeedment", "hellospeedment", "position");
    }
    
    @Override
    public TableIdentifier<Position> getTableIdentifier() {
        return tableIdentifier;
    }
    
    @Override
    public Stream<Field<Position>> fields() {
        return Stream.of(
            Position.ID,
            Position.NAME,
            Position.DESC
        );
    }
    
    @Override
    public Stream<Field<Position>> primaryKeyFields() {
        return Stream.of(
            Position.ID
        );
    }
}